During development of the OSK updates, this._modifiers turned from an
array into a Set(), but this location missed switching from length()
to size() to get the cardinality of the contained values.
As a result, the OSK misbehaved and resorted for key event forwarding
for impossible keyvals, instead of handing them directly to the IM.
Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5766
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2445>
if (key.action !== 'modifier') {
button.connect('commit', (actor, keyval, str) => {
- if (this._modifiers.length === 0 && str !== '' &&
+ if (this._modifiers.size === 0 && str !== '' &&
keyval && this._oskCompletionEnabled) {
Main.inputMethod.handleVirtualKey(keyval);
return;